package com.wangxinenpu.springbootdemo.dataobject.model;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 请假
 * </p>
 *
 * @author baomidou
 * @since 2024-04-15
 */
@TableName("workflow_leave")
@ApiModel(value = "WorkflowLeave对象", description = "请假")
public class WorkflowLeave implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键ID")
    private String id;

    @ApiModelProperty("请假类型")
    private String type;

    @ApiModelProperty("标题")
    private String title;

    @ApiModelProperty("原因")
    private String reason;

    @ApiModelProperty("开始时间")
    private LocalDate leaveStartTime;

    @ApiModelProperty("结束时间")
    private LocalDate leaveEndTime;

    @ApiModelProperty("附件")
    private String attachmentLink;

    @ApiModelProperty("流程实例ID")
    private String instanceId;

    @ApiModelProperty("状态")
    private String state;

    @ApiModelProperty("创建者名称")
    private String createName;

    @ApiModelProperty("创建者")
    private String createBy;

    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public LocalDate getLeaveStartTime() {
        return leaveStartTime;
    }

    public void setLeaveStartTime(LocalDate leaveStartTime) {
        this.leaveStartTime = leaveStartTime;
    }

    public LocalDate getLeaveEndTime() {
        return leaveEndTime;
    }

    public void setLeaveEndTime(LocalDate leaveEndTime) {
        this.leaveEndTime = leaveEndTime;
    }

    public String getAttachmentLink() {
        return attachmentLink;
    }

    public void setAttachmentLink(String attachmentLink) {
        this.attachmentLink = attachmentLink;
    }

    public String getInstanceId() {
        return instanceId;
    }

    public void setInstanceId(String instanceId) {
        this.instanceId = instanceId;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return "WorkflowLeave{" +
            "id = " + id +
            ", type = " + type +
            ", title = " + title +
            ", reason = " + reason +
            ", leaveStartTime = " + leaveStartTime +
            ", leaveEndTime = " + leaveEndTime +
            ", attachmentLink = " + attachmentLink +
            ", instanceId = " + instanceId +
            ", state = " + state +
            ", createName = " + createName +
            ", createBy = " + createBy +
            ", createTime = " + createTime +
            ", updateTime = " + updateTime +
        "}";
    }
}
